<%@page import="entidades.Zona"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="entidades.Contrato"%>
<%@page import="entidades.Medidor"%>
<%@page import="flexjson.JSONSerializer"%>
<%@page import="java.util.ArrayList"%>
<%@page import="serviceEntities.SearchParam"%>
<%@page import="java.util.List"%>
<%@page import="entidades.Tecnico"%>
<%
    String term = request.getParameter("term");
    String cat = request.getParameter("cat");//Que es lo que se busca
    if(term != null && cat != null){
        if(cat.equals("tecnico")){
            Tecnico tec = new Tecnico();
            try{
                List<Tecnico> lista = tec.searchByName(term);
                List<SearchParam> listaResponse = new ArrayList<SearchParam>();
                for(Tecnico t:lista){
                    SearchParam sp = new SearchParam(t.getNombre()+" "+t.getaPaterno()+" "+t.getaMaterno(),t.getNombre()+" "+t.getaPaterno()+" "+t.getaMaterno(), String.valueOf(t.getId()));
                    listaResponse.add(sp);
                }
                String json = new JSONSerializer().exclude("*.class").deepSerialize(listaResponse);
                response.setContentType("application/json");
%>
                <%=json%>
<%
            }catch(Exception ex){
                response.setContentType("text/html");
%>
                <h3><%=ex.getMessage()%></h3>
                <p><a href="<%=request.getRequestURL()%>">Volver</a></p>
<%
            }
        }else if(cat.equals("suministro")){
            Medidor med = new Medidor();
            try{
                List<Medidor> lista = med.getMedidorBySuministro(term);
                List<SearchParam> listaResponse = new ArrayList<SearchParam>();
                for(Medidor m:lista){
                    SearchParam sp = new SearchParam(m.getModelo().getMarca().getDescripcion()+" - "+m.getModelo().getDescripcion()+" - "+m.getSuministro(),
                            m.getSuministro(), String.valueOf(m.getId()));
                    listaResponse.add(sp);
                }
                String json = new JSONSerializer().exclude("*.class").deepSerialize(listaResponse);
                response.setContentType("application/json");
%>
                <%=json%>
<%
            }catch(Exception ex){
                response.setContentType("text/html");
%>
                <h3><%=ex.getMessage()%></h3>
                <p><a href="<%=request.getRequestURL()%>">Volver</a></p>
<%
            }
        }else if(cat.equals("contrato")){
            Contrato cont = new Contrato();
            try{
                List<Contrato> lista = cont.getContratosByNombreConcesionaria(term);
                List<SearchParam> listaResponse = new ArrayList<SearchParam>();
                for(Contrato c:lista){
                    SimpleDateFormat formato = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
                    String fecInicial = formato.format(c.getFechaInicio());
                    String fecFinal = formato.format(c.getFechaFin());
                    SearchParam sp = new SearchParam(c.getConcesionaria().getRazonSocial()+": "+fecInicial+" - "+fecFinal,c.getConcesionaria().getRazonSocial(),String.valueOf(c.getId()));
                    listaResponse.add(sp);
                }
                String json = new JSONSerializer().exclude("*.class").deepSerialize(listaResponse);
                response.setContentType("application/json");
%>
                <%=json%>
<%
            }catch(Exception ex){
                response.setContentType("text/html");
%>
                <h3><%=ex.getMessage()%></h3>
                <p><a href="<%=request.getRequestURL()%>">Volver</a></p>
<%
            }
        }else if(cat.equals("zona")){
            Zona zona = new Zona();
            try{
                List<Zona> lista = zona.getContratosByNombreConcesionaria(term);
                List<SearchParam> listaResponse = new ArrayList<SearchParam>();
                for(Zona z:lista){
                    SearchParam sp = new SearchParam(z.getDescripcion(),z.getDescripcion(),String.valueOf(z.getId()));
                    listaResponse.add(sp);
                }
                String json = new JSONSerializer().exclude("*.class").deepSerialize(listaResponse);
                response.setContentType("application/json");
%>
                <%=json%>
<%
            }catch(Exception ex){
                response.setContentType("text/html");
%>
                <h3><%=ex.getMessage()%></h3>
                <p><a href="<%=request.getRequestURL()%>">Volver</a></p>
<%
            }
        }
    }else{
        //response.sendRedirect("index.jsp");
        %>
                <h3>Bien</h3>
                <p><%=request.getRequestURL()%></p>
<%
    }
%>